from services.DicTemplateServices import *
from Common.UiHelper import *
from Common import CommonHelper as cm


def on_confirm():
    select_variables = [i.get() for i in check_variables if i.get() != 0]
    print(select_variables)
    select_result = helper.get_dic_templates_by_ids(select_variables)
    for i in select_result:
        description = ""
        if i.description is not None:
            description = i.description
        print(str(i.dicName) + ':' + description)
    return


def on_cancel():
    return


root = Tk()
root.title('学情评估诊断量表')
root.iconbitmap(cm.get_path('assert/logo.ico'))
root.configure(bg="white")
uiHelper = UiHelper(root)
# 获取用户分辨率，并设置窗口大小
screenX, screenY = root.maxsize()
# 创建窗口并居中
uiHelper.center_window(int(screenX * 0.5), int(screenY * 0.5))
# 禁止调整窗口大小
root.resizable(False, False)
# 关闭窗口
root.protocol("WM_DELETE_WINDOW", uiHelper.close_window)

# 渲染界面
ser = DicTemplateHelper()
chkOperation = Chk(root)

#
check_variables = []

# 多元智能
zd = helper.get_dic_templates_dict("多元智能")
check_variables += chkOperation.create_checkbutton_label_group(1, 2, "多元智能：", zd)

# 多元智能
zd = helper.get_dic_templates_dict("多元智能")
check_variables += chkOperation.create_checkbutton_label_group(1, 2, "多元智能：", zd)

# 诊断学科
zd1 = helper.get_dic_templates_dict("诊断学科")
check_variables += chkOperation.create_checkbutton_label_group(2, 2, "诊断学科：", zd1)

# 感知模式&学习风格
zd2 = helper.get_dic_templates_dict("感知模式&学习风格")
check_variables += chkOperation.create_checkbutton_label_group(3, 2, "感知模式&学习风格：", zd2)

# 考试分数计算
zd3 = helper.get_dic_templates_dict("考试分数计算")
check_variables += chkOperation.create_checkbutton_label_group(4, 2, "考试分数计算：", zd3)

# 心理型失分－考试过程中因为心态波动导致成绩下滑
zd4 = helper.get_dic_templates_dict("心理型失分－考试过程中因为心态波动导致成绩下滑")
check_variables += chkOperation.create_checkbutton_label_group(5, 2, "心理型失分－考试过程中因为心态波动导致成绩下滑：", zd4)

# 心理型失分－考试过程中因为粗心草率导致扣分
zd5 = helper.get_dic_templates_dict("心理型失分－考试过程中因为粗心草率导致扣分")
check_variables += chkOperation.create_checkbutton_label_group(6, 2, "心理型失分－考试过程中因为粗心草率导致扣分：", zd5)

# 策略型失分－考试过程中，因为主动放弃某题作答而失分
zd6 = helper.get_dic_templates_dict("策略型失分－考试过程中，因为主动放弃某题作答而失分")
check_variables += chkOperation.create_checkbutton_label_group(7, 2, "策略型失分－考试过程中，因为主动放弃某题作答而失分：", zd6)

# 策略型失分－考试过程中，因为时间倾向性分配导致时间不够而失分
zd7 = helper.get_dic_templates_dict("策略型失分－考试过程中，因为时间倾向性分配导致时间不够而失分")
check_variables += chkOperation.create_checkbutton_label_group(8, 2, "策略型失分－考试过程中，因为时间倾向性分配导致时间不够而失分：", zd7)

# 知识和能力型失分－考试过程中，因为知识点掌握系统性和精准度不足而失分
zd8 = helper.get_dic_templates_dict("知识和能力型失分－考试过程中，因为知识点掌握系统性和精准度不足而失分")
check_variables += chkOperation.create_checkbutton_label_group(9, 2, "知识和能力型失分－考试过程中，因为知识点掌握系统性和精准度不足而失分：", zd8)

# 知识和能力型失分－知识点掌握系统性和精准度不足具体表现如何？
zd9 = helper.get_dic_templates_dict("知识和能力型失分－知识点掌握系统性和精准度不足具体表现如何？")
check_variables += chkOperation.create_checkbutton_label_group(10, 2, "知识和能力型失分－知识点掌握系统性和精准度不足具体表现如何？：", zd9)

# 知识和能力型失分－考试过程中，因为综合解题能力缺失而失分
zd10 = helper.get_dic_templates_dict("知识和能力型失分－考试过程中，因为综合解题能力缺失而失分")
check_variables += chkOperation.create_checkbutton_label_group(11, 2, "知识和能力型失分－考试过程中，因为综合解题能力缺失而失分：", zd10)

# 知识和能力型失分－综合解题能力缺失具体表现如何？
zd11 = helper.get_dic_templates_dict("知识和能力型失分－综合解题能力缺失具体表现如何？")
check_variables += chkOperation.create_checkbutton_label_group(12, 2, "知识和能力型失分－综合解题能力缺失具体表现如何？：", zd11)

# 课堂上会出现听不懂课程内容的情况吗？
zd12 = helper.get_dic_templates_dict("课堂上会出现听不懂课程内容的情况吗？")
check_variables += chkOperation.create_checkbutton_label_group(13, 2, "课堂上会出现听不懂课程内容的情况吗？：", zd12)

# 哪类课程内容经常出现听不懂？
zd13 = helper.get_dic_templates_dict("哪类课程内容经常出现听不懂？")
check_variables += chkOperation.create_checkbutton_label_group(14, 2, "哪类课程内容经常出现听不懂？：", zd13)

# 哪课堂听不懂的情况是由什么原因导致的？
zd14 = helper.get_dic_templates_dict("课堂听不懂的情况是由什么原因导致的？")
check_variables += chkOperation.create_checkbutton_label_group(15, 2, "课堂听不懂的情况是由什么原因导致的？：", zd14)

# 遇到课程内容完全听不懂或者部分听不懂，你会怎么办？
zd15 = helper.get_dic_templates_dict("遇到课程内容完全听不懂或者部分听不懂，你会怎么办？")
check_variables += chkOperation.create_checkbutton_label_group(16, 2, "遇到课程内容完全听不懂或者部分听不懂，你会怎么办？：", zd15)

# 听课环节，你是如何记笔记的？
zd16 = helper.get_dic_templates_dict("听课环节，你是如何记笔记的？")
check_variables += chkOperation.create_checkbutton_label_group(17, 2, "听课环节，你是如何记笔记的？：", zd16)

# 你的笔记是什么形式？
zd17 = helper.get_dic_templates_dict("你的笔记是什么形式？")
check_variables += chkOperation.create_checkbutton_label_group(18, 2, "你的笔记是什么形式？：", zd17)

# 你认为你的笔记期末复习或高考总复习的时候，是否能用上？
zd18 = helper.get_dic_templates_dict("你认为你的笔记期末复习或高考总复习的时候，是否能用上？")
check_variables += chkOperation.create_checkbutton_label_group(19, 2, "你认为你的笔记期末复习或高考总复习的时候，是否能用上？：", zd18)

# 难度较大的学习任务开始前后，感觉思考力缺失
zd19 = helper.get_dic_templates_dict("难度较大的学习任务开始前后，感觉思考力缺失")
check_variables += chkOperation.create_checkbutton_label_group(20, 2, "难度较大的学习任务开始前后，感觉思考力缺失：", zd19)

# 课间你通常会做什么
zd20 = helper.get_dic_templates_dict("课间你通常会做什么")
check_variables += chkOperation.create_checkbutton_label_group(21, 2, "课间你通常会做什么：", zd20)

# 你会开展课前预习吗？
zd21 = helper.get_dic_templates_dict("你会开展课前预习吗？")
check_variables += chkOperation.create_checkbutton_label_group(22, 2, "你会开展课前预习吗？：", zd21)

# 你开展课前预习的原因是什么？
zd22 = helper.get_dic_templates_dict("你开展课前预习的原因是什么？")
check_variables += chkOperation.create_checkbutton_label_group(23, 2, "你开展课前预习的原因是什么？：", zd22)

# 你会以什么方式开展预习？
zd23 = helper.get_dic_templates_dict("你会以什么方式开展预习？")
check_variables += chkOperation.create_checkbutton_label_group(24, 2, "你会以什么方式开展预习？：", zd23)

# 你日常会完成哪些练习题？
zd24 = helper.get_dic_templates_dict("你日常会完成哪些练习题？")
check_variables += chkOperation.create_checkbutton_label_group(25, 2, "你日常会完成哪些练习题？：", zd24)

# 你日常完成练习题的数量如何？
zd25 = helper.get_dic_templates_dict("你日常完成练习题的数量如何？")
check_variables += chkOperation.create_checkbutton_label_group(26, 2, "你日常完成练习题的数量如何？：", zd25)

# 你是否认为刷题多少与成绩高低正相关
zd26 = helper.get_dic_templates_dict("你是否认为刷题多少与成绩高低正相关")
check_variables += chkOperation.create_checkbutton_label_group(27, 2, "你是否认为刷题多少与成绩高低正相关：", zd26)

# 你是否遇到做过的题换一种形式又不会做？
zd27 = helper.get_dic_templates_dict("你是否遇到做过的题换一种形式又不会做？")
check_variables += chkOperation.create_checkbutton_label_group(28, 2, "你是否遇到做过的题换一种形式又不会做？：", zd27)

# 日常做题过程中，做错的题，你会怎么处理
zd28 = helper.get_dic_templates_dict("日常做题过程中，做错的题，你会怎么处理")
check_variables += chkOperation.create_checkbutton_label_group(29, 2, "日常做题过程中，做错的题，你会怎么处理：", zd28)

# 你的错题本形式如何？
zd29 = helper.get_dic_templates_dict("你的错题本形式如何？")
check_variables += chkOperation.create_checkbutton_label_group(30, 2, "你的错题本形式如何？：", zd29)

# 在平时练习时，你是否会模拟计时？
zd30 = helper.get_dic_templates_dict("在平时练习时，你是否会模拟计时？")
check_variables += chkOperation.create_checkbutton_label_group(31, 2, "在平时练习时，你是否会模拟计时？：", zd30)

# 在日常做练习题时，你会有难度侧重吗？
zd31 = helper.get_dic_templates_dict("在日常做练习题时，你会有难度侧重吗？")
check_variables += chkOperation.create_checkbutton_label_group(32, 2, "在日常做练习题时，你会有难度侧重吗？：", zd31)

# 你是否会觉得日常作业量繁重，自主时间少
zd32 = helper.get_dic_templates_dict("你是否会觉得日常作业量繁重，自主时间少")
check_variables += chkOperation.create_checkbutton_label_group(33, 2, "你是否会觉得日常作业量繁重，自主时间少：", zd32)

# 你会以什么方式复习基础知识？
zd33 = helper.get_dic_templates_dict("你会以什么方式复习基础知识？")
check_variables += chkOperation.create_checkbutton_label_group(34, 2, "你会以什么方式复习基础知识？：", zd33)

# 日常的笔记会定期复习吗，节奏如何？
zd34 = helper.get_dic_templates_dict("日常的笔记会定期复习吗，节奏如何？")
check_variables += chkOperation.create_checkbutton_label_group(35, 2, "日常的笔记会定期复习吗，节奏如何？：", zd34)

# 错题本或典型题集会定期复习吗，节奏如何？
zd35 = helper.get_dic_templates_dict("错题本或典型题集会定期复习吗，节奏如何？")
check_variables += chkOperation.create_checkbutton_label_group(36, 2, "日常的笔记会定期复习吗，节奏如何？：", zd35)

# 哪些因素影响了你在学习上时间和精力的投入？
zd36 = helper.get_dic_templates_dict("哪些因素影响了你在学习上时间和精力的投入？")
check_variables += chkOperation.create_checkbutton_label_group(37, 2, "哪些因素影响了你在学习上时间和精力的投入？：", zd36)

# 开始结束按钮
confirm_button = Button(root, text="确定", command=on_confirm)
confirm_button.grid(row=50, column=1)

cancel_button = Button(root, text="取消", command=on_cancel)
cancel_button.grid(row=50, column=6)

# 开始
root.mainloop()
